Restoration of consistency is conventionally implemented by means of so-called call-back functions as will be explained hereinafter. This approach is fully bottom-up and always the primary variable objects are successively updated first and immediately thereafter the secondary variable objects based thereon at successive hierarchically higher levels. This is realized by way of instructions which are locally present in the program and are executed immediately. In this type of organization it is not guaranteed on the one hand that all relevant consistency relations are addressed. On the other hand also superfluous consistency relations may be addressed, for example relations having implications only outside the current image field. This problem is caused by the fact that the consistencies must be restored without the relations being explicit, because use is made exclusively of all that is included in the program. This problem is notably significant when the interface operates with a changing program package, for example because the package is being developed, improved or maintained. As is known, all programs of some complexity are continuously subject to such modifications.
U.S. Pat. No. 4,631,690 discloses a multiprocessor system for forming a color image from objects defined in a hierarchical data structure. According to U.S. Pat. No. 4,631,690, the relevance of a given object to a given pixel is determined during a top-down step, because a representation must be found for all pixels. Evidently, this strategy also dictates the set-up of the object structure in which each object must have a reference to the next-higher level. This system utilizes bounding boxes which denote the dimensions of an object and which indicate the relevance to a given pixel.
FIG. 1 shows a general block diagram of a known computer. Therein, a distinction is made between the various functions which may be distributed in practice among the constituent sub-systems in a different manner. This diagram shows only three functions. First of all there is the data processing section, generally speaking performed by the processor 20. The processor receives user input from the keyboard 22, indicated diagrammatically. Other user information can be entered via a mouse, a speech input channel, a soft keyboard, and other means, which do not form part of the present invention per se. Furthermore, the processor outputs user information to the display screen, indicated diagrammatically, with associated control electronic circuitry 24. Other user information can be output via a speech output signal, specific indicators etc., which again do not form part of the present invention. In an abstract sense the user interaction system consists of the assembly of organizations in which the information input and output can cooperate with one another and with the execution of the data processing. Hereinafter, it will only be described how an instruction entered via a keyboard is translated into the updating of the image displayed.
FIG. 2 shows the conventional updating of a display. In this Figure, shown in abstract form, the data structure is represented by a triangle 26 and the screen by the indication 24; objects in the data structure are linked by hierarchical relations, each relation consisting of a coupling between one or more objects at a given level and one or more objects at a next-higher level or vice versa. The various hierarchical links between two objects may comprise the same numbers or different numbers of sub-links. It is assumed that a primary variable object is modified at a lowest level; this is symbolized by the arrow 32. A variety of events may be concerned: an object can be added, removed, displaced, and also its logic relations to other objects may be modified, e.g., added, canceled, assigned to another object. The modification of the relation may also relate to another level in the hierarchy, both for the primary variable object itself and for the relation. This summary is meant to provide a structure from which to understand the present invention, and is not limiting to the types of systems to which the present invention may be applied. Conventionally, the consistency is restored bottom-up in conformity with the direction of the arrow 28. The hierarchical relation of the object structure is implicitly present in the program, because the inverse relations between the various objects in the program have been made explicit. Therefore, during the execution, no investigation of the relations is performed; whatever relations are explicitly provided are executed directly: i.e. the updating of successively next-higher secondary variable objects. The effect of this updating is represented by the dark region. If updating encounters an object which need not be modified, all further explicitly provided modifications are still executed. This also occurs when an object is encountered which is not relevant to the image. Finally, after all necessary modifications have been made and the entire reproduction has been realized, the screen is fully updated to have its new appearance. It may be that updating is superfluous, because it has no effect on the reproduction: it may appear at a higher level, for example that the representations of the object lie outside the image. On the other hand, it may appear at a higher level that modifications at a lower level of the hierarchy are not necessary, whereas at a higher level influence would still be exerted. In the latter case the conventional method must still make everything explicit, illustrating that very likely errors are going to be made therein.